﻿using System.Runtime.Serialization;

namespace PlanningGIS.ArcGIS.Custom
{
    /// <summary>
    /// 概述：表示图层<br />
    /// </summary>
    [DataContract, KnownType(typeof(FeatureLayer)), KnownType(typeof(GraphicsLayer)), KnownType(typeof(GroupLayer)),
    KnownType(typeof(TiledLayer)), KnownType(typeof(DynamicLayer))]
    public abstract class Layer
    {
        /// <summary>
        /// 获取或设置图层的唯一 ID。
        /// </summary>
        [DataMember]
        public string UniqueID { get; set; }

        /// <summary>
        /// 获取或设置图层的名称。
        /// </summary>
        [DataMember]
        public string Name { get; set; }

        /// <summary>
        /// 获取或设置图层是否可见。
        /// </summary>
        [DataMember]
        public bool Visible { get; set; }

        /// <summary>
        /// 获取或设置图层是否展开。
        /// </summary>
        [DataMember]
        public bool IsExpanded { get; set; }

        /// <summary>
        /// 获取或设置图层的操作集合。
        /// </summary>
        [DataMember]
        public string Actions { get; set; }
    }
}
